Skip to content

RabbitMQ: Adding the queue_delivery_metrics OpenMetrics endpoint #19963

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
Apr 22, 2025

Conversation

edgrz
Copy link
Contributor

@edgrz edgrz commented Mar 31, 2025

What does this PR do?

As part of /detailed metric endpoints, there's a queue delivery metrics one (docs), that were not integrated yet into datadog agent. This PR integrates them.

Motivation

I prepared the DD agent to scrape such /detailed?family=queue_delivery_metrics but none of them were appearing in DD. So, looking into the source code I realize there was yet no mapping for there.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Add the qa/skip-qa label if the PR doesn't need to be tested during QA.

Copy link

codecov bot commented Mar 31, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.45%. Comparing base (3cabf9e) to head (1097da0).
Report is 1 commits behind head on master.

Additional details and impacted files
Flag Coverage Δ
activemq ?
cassandra ?
hive ?
hivemq ?
hudi ?
ignite ?
jboss_wildfly ?
kafka ?
presto ?
rabbitmq 95.67% <100.00%> (?)
solr ?

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@edgrz edgrz changed the title RabbitMQ: Adding the queue_delivery_metrics RabbitMQ: Adding the queue_delivery_metrics OpenMetrics endpoint Mar 31, 2025
@dkirov-dd dkirov-dd assigned iliakur and dkirov-dd and unassigned iliakur Apr 4, 2025
@dkirov-dd
Copy link
Contributor

Hello @edgrz, thank you for your contribution!
Could you add these metrics to the metadata.csv?

It seems like they were added in this commit: rabbitmq/rabbitmq-server@bb93e71
Out of curiosity, which version of RabbitMQ are you using? Are you sure it exposes them?

Lastly, it would be great to include the new metrics in the tests as well!

@edgrz
Copy link
Contributor Author

edgrz commented Apr 7, 2025

Hi @dkirov-dd,

Thanks for the review.

I'm using using rabbitMQ v4, which already exposes those. It was already part of v4.0.0, see.

I updated manually the csv, but I'm facing an issue when setting up the dev environment locally following docs. By accident, when running the command ddev config set repos.core /path/to/integrations-core I set a wrong path and in order to fix I just run ddev config edit and removed the repos.core section. Since that moment, I always receive the following error:

ddev config set repos.core                                                                                                                                                              ✔  15:10:05
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/__init__.py │
│ :165 in main                                                                                     │
│                                                                                                  │
│   162 │   manager.hook.register_commands()                                                       │
│   163 │                                                                                          │
│   164 │   try:                                                                                   │
│ ❱ 165 │   │   return ddev(prog_name='ddev', windows_expand_args=False)                           │
│   166 │   except Exception:                                                                      │
│   167 │   │   from rich.console import Console                                                   │
│   168                                                                                            │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1161   │
│ in __call__                                                                                      │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1082   │
│ in main                                                                                          │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1694   │
│ in invoke                                                                                        │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1443   │
│ in invoke                                                                                        │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:788 in │
│ invoke                                                                                           │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/decorators.py: │
│ 33 in new_func                                                                                   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/__init__.py │
│ :133 in ddev                                                                                     │
│                                                                                                  │
│   130 │   │   │   app.display_warning(error)                                                     │
│   131 │                                                                                          │
│   132 │   # Do this last                                                                         │
│ ❱ 133 │   app.set_repo(core, extras, marketplace, agent, here)                                   │
│   134 │                                                                                          │
│   135 │   # TODO: remove this when the old CLI is gone                                           │
│   136 │   app.initialize_old_cli()                                                               │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/application │
│ .py:76 in set_repo                                                                               │
│                                                                                                  │
│    73 │   │   elif repo := os.environ.get(AppEnvVars.REPO, ''):                                  │
│    74 │   │   │   self.__repo = Repository(repo, self.config.repos[repo])                        │
│    75 │   │   else:                                                                              │
│ ❱  76 │   │   │   self.__repo = Repository(self.config.repo.name, self.config.repo.path)         │
│    77 │   │                                                                                      │
│    78 │   │   self.__github = GitHubManager(                                                     │
│    79 │   │   │   self.repo, user=self.config.github.user, token=self.config.github.token, sta   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/config/model.py │
│ :82 in repo                                                                                      │
│                                                                                                  │
│    79 │   │   │   if not isinstance(repo, str):                                                  │
│    80 │   │   │   │   self.raise_error('must be a string')                                       │
│    81 │   │   │   elif repo not in self.repos:                                                   │
│ ❱  82 │   │   │   │   self.raise_error('unknown repository')                                     │
│    83 │   │   │                                                                                  │
│    84 │   │   │   self.raw_data['repo'] = repo                                                   │
│    85 │   │   │   self._field_repo = RepoConfig({'name': repo, 'path': self.repos[repo]}, ('re   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/config/model.py │
│ :57 in raise_error                                                                               │
│                                                                                                  │
│    54 │   │   import inspect                                                                     │
│    55 │   │                                                                                      │
│    56 │   │   field = inspect.currentframe().f_back.f_code.co_name                               │
│ ❱  57 │   │   raise ConfigurationError(message, location=' -> '.join([*self.steps, field, *ext   │
│    58                                                                                            │
│    59                                                                                            │
│    60 class RootConfig(LazilyParsedConfig):                                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ConfigurationError: Error parsing config:
repo
  unknown repository
 ~/repos/integrations-core  master ?1  ddev config set repos.core .                                                                                                                                                            ✔  15:10:07
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/__init__.py │
│ :165 in main                                                                                     │
│                                                                                                  │
│   162 │   manager.hook.register_commands()                                                       │
│   163 │                                                                                          │
│   164 │   try:                                                                                   │
│ ❱ 165 │   │   return ddev(prog_name='ddev', windows_expand_args=False)                           │
│   166 │   except Exception:                                                                      │
│   167 │   │   from rich.console import Console                                                   │
│   168                                                                                            │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1161   │
│ in __call__                                                                                      │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1082   │
│ in main                                                                                          │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1694   │
│ in invoke                                                                                        │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1443   │
│ in invoke                                                                                        │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:788 in │
│ invoke                                                                                           │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/decorators.py: │
│ 33 in new_func                                                                                   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/__init__.py │
│ :133 in ddev                                                                                     │
│                                                                                                  │
│   130 │   │   │   app.display_warning(error)                                                     │
│   131 │                                                                                          │
│   132 │   # Do this last                                                                         │
│ ❱ 133 │   app.set_repo(core, extras, marketplace, agent, here)                                   │
│   134 │                                                                                          │
│   135 │   # TODO: remove this when the old CLI is gone                                           │
│   136 │   app.initialize_old_cli()                                                               │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/application │
│ .py:76 in set_repo                                                                               │
│                                                                                                  │
│    73 │   │   elif repo := os.environ.get(AppEnvVars.REPO, ''):                                  │
│    74 │   │   │   self.__repo = Repository(repo, self.config.repos[repo])                        │
│    75 │   │   else:                                                                              │
│ ❱  76 │   │   │   self.__repo = Repository(self.config.repo.name, self.config.repo.path)         │
│    77 │   │                                                                                      │
│    78 │   │   self.__github = GitHubManager(                                                     │
│    79 │   │   │   self.repo, user=self.config.github.user, token=self.config.github.token, sta   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/config/model.py │
│ :82 in repo                                                                                      │
│                                                                                                  │
│    79 │   │   │   if not isinstance(repo, str):                                                  │
│    80 │   │   │   │   self.raise_error('must be a string')                                       │
│    81 │   │   │   elif repo not in self.repos:                                                   │
│ ❱  82 │   │   │   │   self.raise_error('unknown repository')                                     │
│    83 │   │   │                                                                                  │
│    84 │   │   │   self.raw_data['repo'] = repo                                                   │
│    85 │   │   │   self._field_repo = RepoConfig({'name': repo, 'path': self.repos[repo]}, ('re   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/config/model.py │
│ :57 in raise_error                                                                               │
│                                                                                                  │
│    54 │   │   import inspect                                                                     │
│    55 │   │                                                                                      │
│    56 │   │   field = inspect.currentframe().f_back.f_code.co_name                               │
│ ❱  57 │   │   raise ConfigurationError(message, location=' -> '.join([*self.steps, field, *ext   │
│    58                                                                                            │
│    59                                                                                            │
│    60 class RootConfig(LazilyParsedConfig):                                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ConfigurationError: Error parsing config:
repo
  unknown repository

So:

ConfigurationError: Error parsing config:
repo
unknown repository

I tried reinstalling, but even after a fresh install I'm getting the same error, so I'm guessing there's still a file somewhere that it's not being cleaned up when I do uninstall ddev.

sudo rm -rf /usr/local/ddev/bin/ddev
sudo rm -rf /Users/edgar/Library/Application\ Support/pyapp/ddev

Could you help me please? I wanted te implement a test scenario to cover it, but I haven't been able yet.

@edgrz
Copy link
Contributor Author

edgrz commented Apr 7, 2025

Hi @dkirov-dd,

Thanks for the review.

I'm using using rabbitMQ v4, which already exposes those. It was already part of v4.0.0, see.

I updated manually the csv, but I'm facing an issue when setting up the dev environment locally following docs. By accident, when running the command ddev config set repos.core /path/to/integrations-core I set a wrong path and in order to fix I just run ddev config edit and removed the repos.core section. Since that moment, I always receive the following error:

ddev config set repos.core                                                                                                                                                              ✔  15:10:05
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/__init__.py │
│ :165 in main                                                                                     │
│                                                                                                  │
│   162 │   manager.hook.register_commands()                                                       │
│   163 │                                                                                          │
│   164 │   try:                                                                                   │
│ ❱ 165 │   │   return ddev(prog_name='ddev', windows_expand_args=False)                           │
│   166 │   except Exception:                                                                      │
│   167 │   │   from rich.console import Console                                                   │
│   168                                                                                            │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1161   │
│ in __call__                                                                                      │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1082   │
│ in main                                                                                          │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1694   │
│ in invoke                                                                                        │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1443   │
│ in invoke                                                                                        │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:788 in │
│ invoke                                                                                           │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/decorators.py: │
│ 33 in new_func                                                                                   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/__init__.py │
│ :133 in ddev                                                                                     │
│                                                                                                  │
│   130 │   │   │   app.display_warning(error)                                                     │
│   131 │                                                                                          │
│   132 │   # Do this last                                                                         │
│ ❱ 133 │   app.set_repo(core, extras, marketplace, agent, here)                                   │
│   134 │                                                                                          │
│   135 │   # TODO: remove this when the old CLI is gone                                           │
│   136 │   app.initialize_old_cli()                                                               │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/application │
│ .py:76 in set_repo                                                                               │
│                                                                                                  │
│    73 │   │   elif repo := os.environ.get(AppEnvVars.REPO, ''):                                  │
│    74 │   │   │   self.__repo = Repository(repo, self.config.repos[repo])                        │
│    75 │   │   else:                                                                              │
│ ❱  76 │   │   │   self.__repo = Repository(self.config.repo.name, self.config.repo.path)         │
│    77 │   │                                                                                      │
│    78 │   │   self.__github = GitHubManager(                                                     │
│    79 │   │   │   self.repo, user=self.config.github.user, token=self.config.github.token, sta   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/config/model.py │
│ :82 in repo                                                                                      │
│                                                                                                  │
│    79 │   │   │   if not isinstance(repo, str):                                                  │
│    80 │   │   │   │   self.raise_error('must be a string')                                       │
│    81 │   │   │   elif repo not in self.repos:                                                   │
│ ❱  82 │   │   │   │   self.raise_error('unknown repository')                                     │
│    83 │   │   │                                                                                  │
│    84 │   │   │   self.raw_data['repo'] = repo                                                   │
│    85 │   │   │   self._field_repo = RepoConfig({'name': repo, 'path': self.repos[repo]}, ('re   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/config/model.py │
│ :57 in raise_error                                                                               │
│                                                                                                  │
│    54 │   │   import inspect                                                                     │
│    55 │   │                                                                                      │
│    56 │   │   field = inspect.currentframe().f_back.f_code.co_name                               │
│ ❱  57 │   │   raise ConfigurationError(message, location=' -> '.join([*self.steps, field, *ext   │
│    58                                                                                            │
│    59                                                                                            │
│    60 class RootConfig(LazilyParsedConfig):                                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ConfigurationError: Error parsing config:
repo
  unknown repository
 ~/repos/integrations-core  master ?1  ddev config set repos.core .                                                                                                                                                            ✔  15:10:07
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/__init__.py │
│ :165 in main                                                                                     │
│                                                                                                  │
│   162 │   manager.hook.register_commands()                                                       │
│   163 │                                                                                          │
│   164 │   try:                                                                                   │
│ ❱ 165 │   │   return ddev(prog_name='ddev', windows_expand_args=False)                           │
│   166 │   except Exception:                                                                      │
│   167 │   │   from rich.console import Console                                                   │
│   168                                                                                            │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1161   │
│ in __call__                                                                                      │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1082   │
│ in main                                                                                          │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1694   │
│ in invoke                                                                                        │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:1443   │
│ in invoke                                                                                        │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/core.py:788 in │
│ invoke                                                                                           │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/click/decorators.py: │
│ 33 in new_func                                                                                   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/__init__.py │
│ :133 in ddev                                                                                     │
│                                                                                                  │
│   130 │   │   │   app.display_warning(error)                                                     │
│   131 │                                                                                          │
│   132 │   # Do this last                                                                         │
│ ❱ 133 │   app.set_repo(core, extras, marketplace, agent, here)                                   │
│   134 │                                                                                          │
│   135 │   # TODO: remove this when the old CLI is gone                                           │
│   136 │   app.initialize_old_cli()                                                               │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/cli/application │
│ .py:76 in set_repo                                                                               │
│                                                                                                  │
│    73 │   │   elif repo := os.environ.get(AppEnvVars.REPO, ''):                                  │
│    74 │   │   │   self.__repo = Repository(repo, self.config.repos[repo])                        │
│    75 │   │   else:                                                                              │
│ ❱  76 │   │   │   self.__repo = Repository(self.config.repo.name, self.config.repo.path)         │
│    77 │   │                                                                                      │
│    78 │   │   self.__github = GitHubManager(                                                     │
│    79 │   │   │   self.repo, user=self.config.github.user, token=self.config.github.token, sta   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/config/model.py │
│ :82 in repo                                                                                      │
│                                                                                                  │
│    79 │   │   │   if not isinstance(repo, str):                                                  │
│    80 │   │   │   │   self.raise_error('must be a string')                                       │
│    81 │   │   │   elif repo not in self.repos:                                                   │
│ ❱  82 │   │   │   │   self.raise_error('unknown repository')                                     │
│    83 │   │   │                                                                                  │
│    84 │   │   │   self.raw_data['repo'] = repo                                                   │
│    85 │   │   │   self._field_repo = RepoConfig({'name': repo, 'path': self.repos[repo]}, ('re   │
│                                                                                                  │
│ /Users/edgar/Library/Application                                                                 │
│ Support/pyapp/ddev/10394356751862803079/11.2.0/lib/python3.12/site-packages/ddev/config/model.py │
│ :57 in raise_error                                                                               │
│                                                                                                  │
│    54 │   │   import inspect                                                                     │
│    55 │   │                                                                                      │
│    56 │   │   field = inspect.currentframe().f_back.f_code.co_name                               │
│ ❱  57 │   │   raise ConfigurationError(message, location=' -> '.join([*self.steps, field, *ext   │
│    58                                                                                            │
│    59                                                                                            │
│    60 class RootConfig(LazilyParsedConfig):                                                      │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ConfigurationError: Error parsing config:
repo
  unknown repository

So:

ConfigurationError: Error parsing config:
repo
unknown repository

I tried reinstalling, but even after a fresh install I'm getting the same error, so I'm guessing there's still a file somewhere that it's not being cleaned up when I do uninstall ddev.

sudo rm -rf /usr/local/ddev/bin/ddev
sudo rm -rf /Users/edgar/Library/Application\ Support/pyapp/ddev

Could you help me please? I wanted te implement a test scenario to cover it, but I haven't been able yet.

nevermind @dkirov-dd, I managed to fix it. I had to also remove an extra file config.tom under dd-checks-dev user config folder.

I'll introduce rabbitMQ 4.0 version in the hatch.toml matrix and implement a new test for the new set of metrics.

@dkirov-dd
Copy link
Contributor

Nice! Let me know if you need any help from my side.

@edgrz
Copy link
Contributor Author

edgrz commented Apr 8, 2025

Hi @dkirov-dd,

I have introduced the v4.0 testing, as well as appended to existing rabbitmq/tests/fixtures the corresponding dataseries to make tests pass for v4.0.

I introduced a new test scenario that covers the new detailed endpoint with a skipif decorator, to not being executed when having RABBITMQ_VERSION is older than 4.0, as the new unaggregated endpoint is available only since v4.0.

I had to modify the per-objects.txt and metrics.txt to include the new metrics, but since those are shared across versions, there are a couple of scenarios that are not passing for 3.11-openmetrics, as the new dataseries introduced are not "assessed".

Could you maybe help me or make the necessary fixes please?

@dkirov-dd
Copy link
Contributor

I fixed the tests.
Thanks again @edgrz for making this PR!

@iliakur could you have a look?

NouemanKHAL
NouemanKHAL previously approved these changes Apr 17, 2025
@temporal-github-worker-1 temporal-github-worker-1 bot dismissed NouemanKHAL’s stale review April 17, 2025 14:58

Review from NouemanKHAL is dismissed. Related teams and files:

  • agent-integrations
    • rabbitmq/changelog.d/19963.added
@NouemanKHAL NouemanKHAL enabled auto-merge April 17, 2025 14:59
@dkirov-dd dkirov-dd disabled auto-merge April 22, 2025 08:54
@dkirov-dd dkirov-dd added this pull request to the merge queue Apr 22, 2025
Merged via the queue into DataDog:master with commit 8ffbb76 Apr 22, 2025
32 checks passed
datadog-agent-integrations-bot bot pushed a commit that referenced this pull request Apr 22, 2025
…19963)

* Integrating queue_delivery_metrics endpoint

* csv

* metadata

* fixing csv

* Tests

* changelog

* linting

* skipif test

* Format with `ddev test -fs rabbitmq`

* Make tests pass

* Implement review suggestions

* Update changelog

---------

Co-authored-by: David Kirov <[email protected]>
Co-authored-by: NouemanKHAL <[email protected]>
Co-authored-by: dkirov-dd <[email protected]>
(cherry picked from commit 8ffbb76)
dkirov-dd pushed a commit that referenced this pull request Apr 22, 2025
…19963) (#20116)

* Integrating queue_delivery_metrics endpoint

* csv

* metadata

* fixing csv

* Tests

* changelog

* linting

* skipif test

* Format with `ddev test -fs rabbitmq`

* Make tests pass

* Implement review suggestions

* Update changelog

---------

Co-authored-by: David Kirov <[email protected]>
Co-authored-by: NouemanKHAL <[email protected]>
Co-authored-by: dkirov-dd <[email protected]>
(cherry picked from commit 8ffbb76)

Co-authored-by: edgrz <[email protected]>
@dkirov-dd
Copy link
Contributor

Hello @edgrz, this change will be included in the Agent 7.66 release.
Thanks again for your contribution!

@edgrz
Copy link
Contributor Author

edgrz commented Apr 27, 2025

thanks @dkirov-dd for the review and help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants